export const OnionUtils = new Object();

/***
 * 获取对象类型
 * @return 	'string'、'number'、'date'、'boolean'、'array'、'object'、'function'、'null'、'undefined'
 */
OnionUtils.getType = function(obj) {
    return Object.prototype.toString.call(obj)
        .replace('[object ','')
        .replace(']','')
        .toLowerCase();
},

/***
 * 是否为空字符串
 */
OnionUtils.isEmpty = function(str) {
    if(OnionUtils.getType(str) == 'undefined' || str == null
        || (OnionUtils.getType(str) == 'string' && str.trim() == '')) {
        return true;
    }
    return false;
}

/***
 * 是否为邮箱地址
 */
OnionUtils.isEmail = function(str) {
    return /^[a-zA-Z0-9_\.]+@[a-zA-Z0-9-]+[\.a-zA-Z]+$/.test(str);
}

/***
 * 是否为数值
 */
OnionUtils.isNumber = function(str) {
    if(str == undefined || str == null){
        return false;
    }
    if(typeof str == 'number'){
        return true;
    }
    if(typeof str == 'string' && str.trim() == ''){
        return false;
    }

    return !isNaN(str);
}

/***
 * 字符串转数值
 * @resic str 字符串
 * @resic defaultValue 如果str无效时，返回的默认值
 * @returns 数值对象
 */
OnionUtils.numberParse = function (str, defaultValue) {
    if(OnionUtils.isNumber(str)) {
        return new Number(str);
    } else {
        return defaultValue == undefined ? null : defaultValue;
    }
}
